In most video cloud storage systems, to allocate data writing among storage nodes, a management server may typically evaluate comprehensively the storage nodes in terms of load conditions such as the current number of reads/writes, and accessing rates of CPUs, memories and disk IOs of the storage nodes, and then allocate the data to the storage node with a minimum stress at the moment. Such an allocation strategy may work well for a resource allocation request with a small concurrent storage requirement. However, in a case where the management server is arranged in a cluster and there is a request for a large quantity of storage, the strategy may not be satisfactory. It may occur that, some certain storage node may be allocated with too much of the data writing in a short time and the storage stress of the node is thus instantly increase. As a result, packet loss is inevitable.
Further, storage nodes in the video cloud storage system may have varying storage capacities. The load balancing policy known in the art simply takes into account of load conditions of individual storage nodes but fails to manage the video cloud storage system in a global view. As such, some of the storage nodes may not have any remaining space after a period of operation of the system, while others may have much left. In a system where the management operates according to the existing resource allocation policy, storage nodes having remaining spaces may suffer from increased stress for data writing.